package com.fenghuajueli.moduledev;

import com.fenghuajueli.libbasecoreui.BaseApplication;
import com.fenghuajueli.libbasecoreui.constants.AppConfigInfo;
import com.fenghuajueli.libbasecoreui.utils.PrivacyConstantsUtils;

import java.util.ArrayList;
import java.util.List;

public class MyApplication extends BaseApplication {
    @Override
    public void onCreate() {
        super.onCreate();


    }

    @Override
    public void initNormalSdk() {
        super.initNormalSdk();
        initAppInfo();
        initPrivacy();
    }

    @Override
    public void initThirdSdk() {
        super.initThirdSdk();
    }

    /**
     * app相关信息初始化
     */
    private void initAppInfo() {
        AppConfigInfo.APPLICATION_ID = BuildConfig.APPLICATION_ID;
        AppConfigInfo.APP_COMPANY = BuildConfig.COMPANY_NAME;
        AppConfigInfo.APP_DEBUG = BuildConfig.DEBUG;
        AppConfigInfo.APP_NAME = BuildConfig.APP_NAME;
        AppConfigInfo.CHANNEL = BuildConfig.FLAVOR;
        AppConfigInfo.VERSION_CODE = BuildConfig.VERSION_CODE;
    }

    /**
     * 隐私协议相关初始化
     */
    private void initPrivacy() {
        PrivacyConstantsUtils.appName = BuildConfig.APP_NAME;
        PrivacyConstantsUtils.companyName = BuildConfig.COMPANY_NAME;
        PrivacyConstantsUtils.vipContent = BuildConfig.VIP_CONTENT;
        PrivacyConstantsUtils.vipDesc = BuildConfig.VIP_BUY_DESC;

        //以下是根据运营需求来进行设置，说明可以由运营给出，如果有需要在隐私协议里加入权限说明的 则需要做以下配置
        List<String> data = new ArrayList<>();
        data.add("我们需要获取访问您的手机存储的权限，用于保存或导入您所需要的文件，存储您从本款产品下载的内容或导入需要编辑的内容为本款产品的基础功能；无此项权限，本款产品软件部分功能可能无法正常使用，如您不同意此项权限，将无法使用本款产品部分功能及其相关服务。");
        data.add("我们需要读取您的手机状态，使用目的及业务场景：读取手机状态，涉及到用户设备的IMEI信息，用于进行用户数据统计（安装、活跃度）及识别用户、保障您的帐号、网络、运营及系统安全，降低盗号风险。 收集您的信息有：硬件序列号，设备MAC地址，唯一设备识别码（IMEI、OAID、AndroidID、IDFA、IDFV、UUID、Open UDID、UDID、AAID、AID、CAID、GUID、sim卡IMSI信息）");
        PrivacyConstantsUtils.permissionDescData = data;
    }

    @Override
    public boolean appIsDebug() {
        return BuildConfig.DEBUG;
    }

    @Override
    public String getChannel() {
        return BuildConfig.FLAVOR;
    }
}
